-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DM XMLs - Update 1.4/1.4.1/master to use alchemy 1.5.4 and add namespace XML files. #37527
base: master
Are you sure you want to change the base?
DM XMLs - Update 1.4/1.4.1/master to use alchemy 1.5.4 and add namespace XML files. #37527
Conversation
Alchemy now does namespace parsing. There was also a change to the format of the constraints.
PR #37527: Size comparison from 9c8cb33 to 75bca34 Increases above 0.2%:
Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
- Creating with data provided by Cecille in PR here: project-chip#37527 - Updated test.yaml to include TestSpecParsingNamespace.py to run in CI - Updated matter_testing support module to include new NamespacePathLocation function for Namespace file locations - Updated spec_parsing to include new functions build_xml_namespaces and parse_namespace, as well as XmlNamespaces and XmlTags dataclasses
PR #37527: Size comparison from 26a7b1c to 2f7a6a3 Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have not check every single line, but assuming alchemy is doing a good job here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving on faith.
… code from Cecille's PR #: Namespace parser: - Created new TestSpecParsingNamespace.py unit test to test namespaces - Updated tests.yaml to include TestSpecParsingNamespace.py - Updated test_metadata.yaml to include TestSpecParsingNamespace.py and reasoning - Updated matter_testing support module to include new NamespacePathLocation function for Namespace file locations - Updated spec_parsing to include new functions build_xml_namespaces and parse_namespace, as well as XmlNamespaces and XmlTags dataclasses Datatype parser: - spec_parsing module changes: -- Enhanced XmlDataTypeComponent with fields for docs, types, and constraints -- Added support for detecting optional and nullable fields in XML -- Improved constraint parsing for min/max values and attribute references, basically used for dataTypes -- Improved some error reporting with specific diagnostic messages when parsing dataTypes - TestSpecParsingDataType unit test module: -- Added comprehensive test coverage using Matter 1.4.1 cluster XML files -- Enhanced test output with detailed statistics on XML field usage -- Added error reporting with specific diagnostic messages Additionally: - Removing unneccessary additions in scripts/tests/requirements.txt file - Adding change to scripts/setup/constraints.txt as was needed to build env Updates Cecille's PR project-chip#37527
Testing
Data model file formats for clusters and device types are covered by the TestSpecParsing* tests, which are run in CI and also run manually. These are also used in the IDM-10.* tests, which are run in the CI. The new namespace files are not yet used anywhere. Tests will be added when the parsers are added.